File information: | |
File name: | SegmentDefs.mesa_Oct77.pdf [preview SegmentDefs.mesa Oct77] |
Size: | 182 kB |
Extension: | |
Mfg: | xerox |
Model: | SegmentDefs.mesa Oct77 🔎 |
Original: | SegmentDefs.mesa Oct77 🔎 |
Descr: | xerox mesa 3.0_1977 listing SegmentDefs.mesa_Oct77.pdf |
Group: | Electronics > Other |
Uploaded: | 27-02-2020 |
User: | Anonymous |
Multipart: | No multipart |
Information about the files in archive: | ||
Decompress result: | OK | |
Extracted files: | 1 | |
File name SegmentDefs.mesa_Oct77.pdf segmentdefs.mESA 21\-OCT-77 18:44:36 Page 1 -- SegmentDefs.Mesa Edited by Sandman on August 23, 1977 9:16 PM DIRECTORY AltoDefs: FROM "altodefs", AltoFileDefs: FROM "altoflledefs"; DEFINITIONS FROM AltoDefs, AltoFileDefs; SegmentDefs: DEFINITIONS = BEGIN FileHint: TYPE = AltoFileDefs.FH: FileIndex: TYPE = AltoFileDefs.FI; PageCount: TYPE = AltoDefs.PageCount; PageNumber: TYPE = AltoDefs.PageNumber: -- Basic Memory Addressing: PagePointer: PROCEDURE [a:POINTER] RETURNS [POINTER]: PageFromAddress: PROCEDURE [a:POINTER] RETURNS [PageNumber]: AddressFromPage: PROCEDURE [p:PageNumber] RETURNS [POINTER]: PageFree: PROCEDURE [page: PageNumber] RETURNS [BOOLEAN]: PagesFree: PROCEDURE [base: PageNumber. pages: PageCount] RETURNS [BOOLEAN]: -- Primative System Objects: ObjectType: PRIVATE TYPE = {Free. Data, Segment, File}: ObjectHandle: PRIVATE TYPE = POINTER TO Object: Object: TYPE = RECORD [ inuse, busy: PRIVATE BOOLEAN. body: SELECT COMPUTED ObjectType FROM Free => [ fill: PRIVATE [0 .. 37777B]. link: PRIVATE POINTER TO Free Object], Data => [ pages: [l .. MaxVMPage+l]. VMpage: [O .. MaxVMPage]]. Segment => [ swappedin: BOOLEAN. read. write: BOOLEAN. cl ass: FileSegmentCl ass, lock: [0 .. MaxLocks], pages: [l .. MaxVMPage+l]. VMpage: [O .. MaxVMPage]. file: FileHandle. base: PageNumber, hint: FileHint], File =) [ open: BOOLEAN. lengthvalid: BOOLEAN. lengthchanged: BOOLEAN. read. write. append: BOOLEAN. lock: [O .. MaxLocks]. swapcount: [O .. MaxRefs]. segcoun t: [0 .. MaxSegs]. fp: FP eor: FA]. ENDCASE]: MaxRefs: CARDINAL = 255: Maxlocks: CARDINAL = 255: MaxSegs: CARDINAl = 177777B: segmentdefs.mESA 24-0CT-77 18:44:36 Page 2 -- Segments: DefaultPages: PageCount = 0: DefaultBase: PageNumber MaxFilePage: -- Data Segments: DataSegmentObject: TYPE = Data Object: DataSegmentHandle: TYPE = POINTER TO DataSegmentObject: VMNotFree: SIGNAL [base:PageNumber, pages:PageCount]: NewDataSegment: PROCEDURE [base:PageNumber, pages:PageCount] RETURNS [DataSegmentHandle]: NewFrameSegment: PROCEDURE [pages: PageCount] RETURNS [DataSegmentHandle]: DeleteDataSegment: PROCEDURE [seg:DataSegmentHandle]: VMtoDataSegment: PROCEDURE [a:POINTER] RETURNS [DataSegmentHandle]: DataSegmentAddress: PROCEDURE [seg:DataSegmentHandle] RETURNS [POINTER]: EnumerateDataSegments: PROCEDURE [ proc: PROCEDURE [DataSegmentHandle] RETURNS [BOOLEAN]] RETURNS [DataSegmentHandle]: -- File Segments: FileSegmentObject: TYPE = Segment Object: FileSegmentHandle: TYPE = POINTER TO FileSegmentObject: FileSegmentClass: TYPE = {code, symbols, bcd, other}; InvalidSegmentSize: SIGNAL [pages:PageCount]: NewFileSeg |
Date | User | Rating | Comment |